#构造dataframe
pd1=pd.DataFrame({f'getNthHighestSalary({N})':[None]})
#排序
salaries = employee['salary'].sort_values(ascending=False).reset_index(drop=True).reset_index(drop=True)#对固定列进行排序，sort_values会返回一个series
person.sort_values(by="id",inplace=True)#排序默认是创建新的表格，可以加inplace=True参数进行原地修改
sorted_df = employee.sort_values(by='salary', ascending=False).reset_index(drop=True)#对带动整个df排序，并在by加入参数使得按照by参数的排序，返回一个df，reset_index为true时丢弃原来的索引，按照新排序的重新自动编号
#形状统计
length=len(employee)#当empolyee只有一列是series时
shape=employee.shape#当empolyee是dataframe时
#删除某一列||使用原表格的子表格
df=df.drop(columns=["ID"])
df=df[['name','salary']
#分组选取最大值
df=df.grounpby('Department')['Salary'].transform('max')#根据Department分组，告诉你这个group下的最大值，返回的是series
df = df.groupby('Department')['Salary'].max()#行数变少（每组一行）只要分组结果，返回dataframe
返回类型：

    如果你在 [] 中选了单列（例如 ['Salary'] 或 .Salary）→ 返回 Series（索引是分组键）。如果不加reset_index会将groupby后的参数变为索引

    如果你不选列，直接 df.groupby('Department').max() → 返回 DataFrame（分组键是索引，其他列是各列的最大值）。
#排名
df2['rank'] = df2['score'].rank(method='dense', ascending=False)#对score列进行排名，dense表示相同名额占两个1 1 3，排名结果创建一个新列rank
#表格转换
#1、宽表格
Products =
| product_id | store1 | store2 | store3 |
| ---------- | ------ | ------ | ------ |
| 0          | 95     | 100    | 105    |
| 1          | 70     | null   | 80     |
每一个变量都有独立的列
宽转长
    melted=pd.melt(products,#原表格
        id_vars=['product_id'],          # 保留 product_id 列
        value_vars=['store1', 'store2', 'store3'],  # 要摊平的列
        var_name='store',                # 原列名组成的新列，命名为 store
        value_name='price'               # 原列值组成的新列，命名为 price
#2、长表格
| product_id | store  | price |
| ---------- | ------ | ----- |
| 0          | store1 | 95    |
| 1          | store1 | 70    |
| 0          | store2 | 100   |
| 0          | store3 | 105   |
| 1          | store3 | 80    |
#同类的变量被放在了一起，对应属性单独一列
wide = df.pivot(index='product_id',#指定哪些列作为 行索引（index）。这些列的唯一组合将作为结果表的行
 columns='store',#指定哪个列的值作为 列索引（columns）。该列的唯一值将成为新表的列名
  values='price')#指定哪个列的值填充到表格中（单元格）。如果为 None，就保留原来的所有值列
#加列标题
pd.DataFrame({'rich_count':[rich_customers]})
#统计数量
(df['amount'] > 500).sum()
count用来统计非空数量